# model.py
import torch.nn as nn

class SimpleCNN(nn.Module):
    """
    Example CNN model for image classification
    Architecture: 3x28x28 input -> Conv2d(3,16,3) -> MaxPool2d(2,2)
                -> Linear(16*13*13, 10)
    """
    
    def __init__(self):
        super().__init__()
        self.conv1 = nn.Conv2d(3, 16, 3)
        self.pool = nn.MaxPool2d(2, 2)
        self.fc1 = nn.Linear(16*13*13, 10)
    
    def forward(self, x):
        x = self.pool(nn.functional.relu(self.conv1(x)))
        x = torch.flatten(x, 1)
        x = self.fc1(x)
        return x
